//提供带 Content-Encoding 编码的压缩版的资源
const CompressionPlugin = require("compression-webpack-plugin");

module.exports = {
  devServer: {
    port: 9000,
    proxy: {
      "/api": {
        //地址中以api开头的
        target: "<url>", //转发地址
        ws: true, //代理 websockets
        changeOrigin: true, //允许跨域
        pathRewrite: {
          //对象/函数，重写目标的url路径。对象键将用作RegExp以匹配路径。
          "^/old/api": "/new/api",
        },
      },
      "/foo": {
        //地址中以foo开头的
        target: "<other_url>", //转发地址
      },
    },
  },
  configureWebpack: () => {
    if (process.env.NODE_ENV === "production") {
      //生产环境时使用
      return {
        plugins: [
          new CompressionPlugin({//提供带 Content-Encoding 编码的压缩版的资源
            test: /\.js$|\.html$|\.css/,
            threshold: 1024,
            deleteOriginalAssets: false,
          }),
        ],
      };
    }
  },
};